package work.chenbo.spring.start.http.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Map;

/**
 * @author ChenBo
 * @className HttpClientPoolProperties
 * @date 2019/11/19
 */
@Data
@ConfigurationProperties(prefix = "http.pool")
public class HttpClientPoolProperties {
    /** 连接池的最大连接数 */
    private int max_total_connect = 1000;

    /** 同路由的并发数 */
    private int max_connect_route = 200;

    /** 客户端和服务器建立连接超时，默认2000ms */
    private int connect_timout = 2 * 1000;

    /** 指客户端从服务器读取数据包的间隔超时时间,不是总读取时间，默认3000ms */
    private int read_timeout = 30 * 1000;

    /** 编码 */
    private String charset = "UTF-8";

    /** 重试次数,默认2次  */
    private int retry_times = 2;

    /** 从连接池获取连接的超时时间,不宜过长,单位ms  */
    private int connection_request_timout = 200;

    /** 连接保持时间,单位 s  */
    private int keep_alive_times = 60;

    /** 针对不同的地址,特别设置不同的长连接保持时间 */
    private Map<String,Integer> keep_alive_target_host;
}
